package com.mzx.javase.yichang;

/**
 * @Description:
 * @Date: 2022/6/20 16:43
 * @Author: MarKing
 */
public class MyExceptionTest01 {
    public static void main(String[] args) {
//        try {
//            double result = devide(20, 0);
//            System.out.println("结果为：" + result);
//        } catch (myException e) {
//            e.printStackTrace();
//        }
        System.out.println(m1(1, 0)); //在发生异常时，返回finally中的数据,不发生异常时，也返回try中正常结果。
        /**
         * 1.程序自上而下执行
         * 2.遇到return语句会中止程序
         */
        System.out.println(m2(20)); //
    }

    public static double devide(double a, double b) throws myException {
        if (b == 0) {
            throw new myException("在除法中，除数不能为0");
        }
        return a / b;
    }

    public static int m1(int a, int b) {
        try {
            devide(a, b);
            return 1;
        } catch (myException e) {
            e.printStackTrace();
        }finally {
            return 100;
        }
    }
    public static int m2(int a) {
        try {
            return a;
        } finally {
//            return 30;
            return a++;
        }
    }
}
